package com.entmanage.base.memo.service;

import java.util.List;
import com.entmanage.base.memo.domain.MemoReminder;

/**
 * 备忘录提醒Service接口
 * 
 * @author lsq
 * @date 2025-09-04
 */
public interface IMemoReminderService 
{
    /**
     * 查询备忘录提醒
     * 
     * @param id 备忘录提醒主键
     * @return 备忘录提醒
     */
    public MemoReminder selectMemoReminderById(Long id);

    /**
     * 查询备忘录提醒列表
     * 
     * @param memoReminder 备忘录提醒
     * @return 备忘录提醒集合
     */
    public List<MemoReminder> selectMemoReminderList(MemoReminder memoReminder);

    /**
     * 新增备忘录提醒
     * 
     * @param memoReminder 备忘录提醒
     * @return 结果
     */
    public int insertMemoReminder(MemoReminder memoReminder);

    /**
     * 修改备忘录提醒
     * 
     * @param memoReminder 备忘录提醒
     * @return 结果
     */
    public int updateMemoReminder(MemoReminder memoReminder);

    /**
     * 批量删除备忘录提醒
     * 
     * @param ids 需要删除的备忘录提醒主键集合
     * @return 结果
     */
    public int deleteMemoReminderByIds(Long[] ids);

    /**
     * 删除备忘录提醒信息
     * 
     * @param id 备忘录提醒主键
     * @return 结果
     */
    public int deleteMemoReminderById(Long id);

    /**
     * 发送备忘录提醒邮件
     * @param reminder 备忘提醒对象
     * @return 成功返回 "success"，否则返回错误信息
     */
    public void sendReminderEmail(Long reminder);

    boolean existsReminder(MemoReminder reminder);
}
